package models

import "gorm.io/gorm"

type News struct {
	gorm.Model
	Title    string   `gorm:"type:varchar(50)" json:"title"`
	Content  string   `gorm:"type:varchar(50)" json:"content"`
	Img      string   `gorm:"type:varchar(255)" json:"img"`
	Status   string   `gorm:"type:varchar(30)" json:"status"`
	CateId   uint     `gorm:"type:int(10)" json:"cateId"`
	NewsType NewsType `gorm:"foreignKey:CateId"`
}

type NewsType struct {
	gorm.Model
	Name string `gorm:"type:varchar(30)" json:"name"`
}

type User struct {
	gorm.Model
	Username string `gorm:"type:varchar(50)" json:"username"`
	Password string `gorm:"type:varchar(100)" json:"password"`
}

type Comment struct {
	gorm.Model
	Content string `gorm:"type:varchar(50)" json:"content"`
	NewsId  uint   `gorm:"type:varchar(30)" json:"newsId"`
	UserId  uint   `gorm:"type:varchar(30)" json:"userId"`
	News    News   `gorm:"foreignKey:NewsId"`
	User    User   `gorm:"foreignKey:UserId"`
}

type CollectList struct {
	gorm.Model
	NewsId uint `gorm:"type:varchar(30)" json:"newsId"`
	UserId uint `gorm:"type:varchar(30)" json:"userId"`
	News   News `gorm:"foreignKey:NewsId"`
	User   User `gorm:"foreignKey:UserId"`
}
